/* ispisi.c - primjer osnovnog ispisa u video memoriju */

#define VIDEO		(void *) 0xB8000
#define STUPACA		80
#define REDAKA		24
#define ATRIBUT		7

static int xpoz = 0;
static int ypoz = 0;
static unsigned char *video = VIDEO;

int ispisi_rijec(char *rijec)
{
	int i;
	
	for(i = 0; i < 80 && rijec[i] != 0; i++) {
		if (rijec[i] != '\n' && rijec[i] != '\t') {
			*(video + (xpoz + ypoz * STUPACA) * 2) = rijec[i] & 0xFF;
			*(video + (xpoz + ypoz * STUPACA) * 2 + 1) = ATRIBUT;
		}
		xpoz++;
		if (rijec[i] == '\t')
			xpoz = (xpoz / 8 + 1) * 8;

		if (xpoz >= STUPACA || rijec[i] == '\n') {
			xpoz = 0;
			ypoz++;
		}
	}
	return 0;
}

int pozdrav_svima(unsigned long magic, unsigned long addr)
{
	int i;
	for (i = 0; i < STUPACA * REDAKA * 2; i++)
		*(video + i) = 0;

	ispisi_rijec("<pokazno:");
	ispisi_rijec(PROJEKT);
	ispisi_rijec(">\nPozdrav svima!\n\n");
	
	return 0;
}
